#自动存取款的存取款



#定义一个用于存放账户信息的列表变量，包含用户账号密码、卡号、用户姓名、余额
acclist=[{'password':111111,'name':'Joln','account_number':622613026267289,'balance':8000.00},
         {'password':222222,'name':'Tom','account_number':622613026557796,'balance':12200.08},
         {'password':333333,'name':'Alice','account_number':1302625579279,'balance':2220.27},
         {'password':444444,'name':'Mark','account_number':13099988765237,'balance':56000.39}]

#定义一个账户信息的输出函数
def showaccount(acclist,i):
    '''
    本函数用于输出账户的信息
    传入两个参数，一个为账户信息列表，另一个为索引
    输出账户的完整信息
    '''
    if len(acclist)<0:
        print('=========没有账户信息可以输出===============')
        return
    print('|  {0:<6}|  {1:<20}|  {2:<8}|'.format('name','account_number','balance'))
    print('-'*40)
    print('|  {0:<6}|  {1:<20}|  {2:<8}|'.format(acclist[i]['name'],acclist[i]['account_number'],acclist[i]['balance']),'\n')

#登录系统    
print('='*5,'欢迎登录银行账户管理系统','='*9,'\n')
pawd=int(input('登录请输入密码：'))
print()
print('='*12,'欢迎登录','='*18)

while True:
    
    #输出初始界面
    
    print()
    print('{0:<1}|  {1:<10}|  {2:<12}|'.format(' ','1. 查询余额','2. 取款'))
    print('{0:<1}|  {1:<12}|  {2:<10}|'.format(' ','3. 存款','4. 退出系统'),'\n')
    print('='*40,'\n')  
    for i in range(len(acclist)):

        #根据输入的用户密码，操作对应的用户信息
        
        if pawd==acclist[i]['password']:
            key=input('请选择操作：')

            #根据键盘值，判断并执行对应的操作
            
            if key=='1':
                print('='*12,'查询余额','='*18)
                print('当前账户余额：',acclist[i]['balance'],'\n')   #输出余额
                showaccount(acclist,i)
                input('按回车键继续')
            elif key=='2':
                print('='*16,'取款','='*18)
                money=float(input('请输入取款数目：'))
                acclist[i]['balance']=acclist[i]['balance']-money    #取款操作
                showaccount(acclist,i)
                input('按回车键继续')
            elif key=='3':
                print('='*16,'存款','='*18)
                money=float(input('请放入现金：'))
                acclist[i]['balance']=acclist[i]['balance']+money    #存款操作
                showaccount(acclist,i)
                input('按回车键继续')
            elif key=='4':
                print('='*16,'再见','='*18,'\n')        
            else:
                print('==========无效的键盘输入================')

    #退出整个循环
                
    if key=='4':
        break
    
        
